/**
 * 系统配置模块 - 核心功能
 * 处理标签切换和基础功能
 */

// 页面加载完成后初始化
document.addEventListener('DOMContentLoaded', function () {
    init();
});

// 确保在页面完全加载后也检查一次URL hash
window.addEventListener('load', function() {
    // 延迟执行，确保所有DOM元素都已经完全加载
    setTimeout(function() {
        checkUrlHashForTabSelection();
    }, 100);
});

// 初始化函数
function init() {
    console.log('系统配置模块初始化');
    
    // 绑定标签切换事件
    setupTabSwitching();
    
    // 检查URL中的hash参数，用于自动选择标签
    checkUrlHashForTabSelection();
    
    // 初始化各个模块
    if (typeof initDeviceManagement === 'function') {
        initDeviceManagement();
    }
    
    if (typeof initVentilationConfig === 'function') {
        initVentilationConfig();
    }
    
    // 初始化阈值设置模块
    if (typeof window.ThresholdSettings !== 'undefined' && typeof window.ThresholdSettings.init === 'function') {
        window.ThresholdSettings.init();
    }
    
    // 注意：操作日志管理初始化已移至activateOperationLogsTab函数中
    // 只有当用户点击操作日志tab时才会初始化
}

// 检查URL中的hash参数，用于自动选择标签
function checkUrlHashForTabSelection() {
    const hash = window.location.hash;
    if (!hash) return;
    
    console.log('检测到URL hash参数:', hash);
    
    // 移除开头的#号
    const param = hash.substring(1);
    
    console.log('处理URL参数:', param);
    
    // 根据参数选择相应的标签
    switch (param) {
        case 'intelligent-ventilation':
            console.log('准备选择智能通风标签');
            // 选择智能通风标签
            selectTab('ventilation');
            break;
        case 'aircondition':
            // 选择空调控温标签
            selectTab('aircondition');
            break;
        case 'operation-logs':
            // 选择操作日志标签
            selectTab('operation-logs');
            break;
        case 'account-info':
            // 选择账号信息标签
            selectTab('account-info');
            break;
        // 可以根据需要添加更多的标签映射
        default:
            console.log('未识别的URL参数:', param);
            break;
    }
}

// 选择指定的标签
function selectTab(tabId) {
    console.log('自动选择标签:', tabId);
    
    // 找到对应的菜单项
    const menuItem = document.querySelector(`.menu-item[data-content="${tabId}"]`);
    if (!menuItem) {
        console.warn(`未找到ID为${tabId}的标签菜单项`);
        return;
    }
    
    // 更新活动菜单样式
    document.querySelectorAll('.menu-item').forEach(t => {
        t.classList.remove('active');
    });
    menuItem.classList.add('active');
    
    // 显示对应内容
    document.querySelectorAll('.content-section').forEach(content => {
        content.classList.remove('active');
    });
    document.getElementById(tabId).classList.add('active');
    
    // 更新当前标签
    if (window.currentTab !== undefined) {
        window.currentTab = tabId;
    }
    
    console.log(`已选择标签: ${tabId}, 菜单项类名: ${menuItem.className}`);
}

// 设置标签切换
function setupTabSwitching() {
    const menuItems = document.querySelectorAll('.menu-item');
    window.currentTab = null; // 使用全局变量

    menuItems.forEach(item => {
        item.addEventListener('click', function (event) {
            event.preventDefault();
            const contentId = this.getAttribute('data-content');

            console.log('Menu item clicked:', contentId);

            // 如果离开操作日志页面，停止自动刷新
            if (window.currentTab === 'operation-logs' && contentId !== 'operation-logs') {
                if (window.deactivateOperationLogsTab) {
                    console.log('离开操作日志页面，停止自动刷新');
                    window.deactivateOperationLogsTab();
                }
            }

            // 更新活动菜单样式
            document.querySelectorAll('.menu-item').forEach(t => {
                t.classList.remove('active');
            });
            this.classList.add('active');

            // 显示对应内容
            document.querySelectorAll('.content-section').forEach(content => {
                content.classList.remove('active');
            });
            document.getElementById(contentId).classList.add('active');
            
            // 如果切换到操作日志页面，调用activateOperationLogsTab
            if (contentId === 'operation-logs') {
                if (window.activateOperationLogsTab) {
                    console.log('切换到操作日志页面，初始化操作日志');
                    window.activateOperationLogsTab();
                } else {
                    console.warn('activateOperationLogsTab函数不可用');
                }
            } else if (contentId === 'account-info') {
                if (typeof initAccountInfoTab === 'function') {
                    initAccountInfoTab();
                }
            }
            
            // 更新当前标签
            window.currentTab = contentId;
        });
    });
}

// 导出公共函数，使其他模块可以调用
window.SettingsCore = {
    selectTab: selectTab,
    checkUrlHashForTabSelection: checkUrlHashForTabSelection
}; 